function sum(...rest) {
    let args = rest;
    // 一开始没有参数就直接执行
    if ( args.length === 0) return 0;
    return function currySum(...rest) {
        // 合并参数
        args = [...args,...rest]
        // 如果没有参数就直接执行
        if (rest.length === 0) {
            return args.reduce(( pre, cur) => pre + cur)
        } else {
        // 继续合并参数
            return currySum
        }
    }
}
console.log(sum(1)(2)());
